#! /usr/bin/env node
// cli命令 必须有上面的一行标识
// console.log('cli working')

const path = require('path')
const inquirer = require('inquirer')
const fs = require('fs')
const ejs = require('ejs')

// 1. 通过交互获取用户输入信息
inquirer.prompt([
  {
    type: 'input',
    name: 'title',
    message: 'Type your name',
  }
]).then(res => {
  // console.log(res)

  // 模板文件路径
  const tempDir = path.join(__dirname, 'templates')
  // 输出文件路径，取当前命令行执行的路径
  const outputDir = process.cwd()
  // 读取目录文件
  fs.readdir(tempDir, (err, files) => {
    if (err) throw err
    // console.log(files)
    files.forEach(file => {
      // 模板引擎渲染
      ejs.renderFile(path.join(tempDir, file), res, (err, string) => {
        if (err) throw err
        // console.log(string)
        // 写入结果
        fs.writeFileSync(path.join(outputDir, file), string)
      })
    })
  })
})